package net.xdclass.service;

import net.xdclass.controller.Request.ShortLinkAddRequest;
import net.xdclass.controller.Request.ShortLinkDelRequest;
import net.xdclass.controller.Request.ShortLinkPageRequest;
import net.xdclass.controller.Request.ShortLinkUpdateRequest;
import net.xdclass.model.EventMessage;
import net.xdclass.model.ShortLinkDO;
import com.baomidou.mybatisplus.extension.service.IService;
import net.xdclass.util.JsonData;
import net.xdclass.vo.ShortLinkVO;

import java.util.Map;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author 二当家小D
 * @since 2025-08-15
 */
public interface ShortLinkService extends IService<ShortLinkDO> {
	ShortLinkVO getByShortLink(String shortLink);

	JsonData addShortLink(ShortLinkAddRequest shortLinkAddRequest);

	Boolean handlerAddShortLink(EventMessage eventMessage);
	Boolean handlerDelShortLink(EventMessage eventMessage);
	Boolean handlerUpdateShortLink(EventMessage eventMessage);
	Map pageByGroupId(ShortLinkPageRequest shortLinkPageRequest);

	JsonData update(ShortLinkUpdateRequest shortLinkUpdateRequest);

	JsonData delete(ShortLinkDelRequest shortLinkDelRequest);
}
